package com.util.base;

import java.io.UnsupportedEncodingException;

import com.sun.jna.Library;
import com.sun.jna.Native;

public class NLPIR_BASE {

	// static String path=System.getProperty("user.dir")+"\\WebRoot\\";
	static String path = "C:\\Users\\Yu\\Workspaces\\MyEclipse 2015\\HealthManager\\WebRoot\\";

	/**
	 * 重写NLPIR接口
	 * 
	 * @author Yu
	 *
	 */
	public interface CLibrary extends Library {
		// String path=System.getProperty("user.dir")+"\\WebRoot\\";
		CLibrary Instance = (CLibrary) Native.loadLibrary(path + "NLPIR",
				CLibrary.class);

		// 初始化函数声明
		public int NLPIR_Init(byte[] sDataPath, int encoding,
				byte[] sLicenceCode);

		// 执行分词函数声明
		public String NLPIR_ParagraphProcess(String sSrc, int bPOSTagged);

		// 提取关键词函数声明
		public String NLPIR_GetKeyWords(String sLine, int nMaxKeyLimit,
				boolean bWeightOut);

		// 获取指纹值
		public long NLPIR_FingerPrint(String sLine);

		// 退出函数声明
		public void NLPIR_Exit();
	}

	/**
	 * 初始化NLPIR
	 * 
	 * @param args
	 * @throws UnsupportedEncodingException
	 */
	public static int init_NLPIR() throws UnsupportedEncodingException {
		String system_charset = "GBK";
		int init_flag = CLibrary.Instance.NLPIR_Init(
				path.getBytes(system_charset), 1, "0".getBytes(system_charset));
		return init_flag;
		/*
		 * if(0==init_flag){ Log.info("NLPIR初始化失败！"); return; } String sInput =
		 * "我最热爱与擅长的是JAVA开发方向，从2012年底（大三下学期）接触JAVA语言至今已有差不多三年的时间了。本科的时候对未来一片迷茫，因为根本不知道自己以后想从事什么方向的职业，因为深知自己根本没有一技之长；直到大三专业导师制，跟着教研室的项目一起接触了JAVA语言后，我有无限的求知欲。在得到进步、做出一些成果后，我懂得了成就感是一种什么样的感觉。在大四上学期确定保研后就跟着教研室一个研二的师兄一起做一个四川省农村适宜技术的项目，这是促使我JAVA技术能够入门的关键项目，是师兄自己接的私活，我帮他做相当于达到了双赢，我得到了技术的极大锻炼，他获取了一定的经济效益。进入研究生后，跟随着导师申请的项目一直在锻炼，其中，孕产妇移动健康监护系统是教研室所开发过的相对大型的一个项目。那时，我们倾全教研室的力量完成了这个系统的软件端的开发，虽然最后硬件部分被告知由于传感器测量的精准度不够而夭折，但这使得担当项目小组长的我，JAVA的技能得到了极大的锤炼与提升。研二时，我参与的嵌入沙发的移动健康监护系统主要是利用嵌入沙发上的生理数据传感器将采集到的用户健康数据通过3G网传到数据库中，用户通过手机等移动终端查阅自己的各项生理数据极其变化趋势。在这个项目中，我担任组长，其实一共才3个组员（包括我自己），这个项目使我可以成功地从一名J2EE开发人员转型成为Android开发工程师。虽然不敢说自己已经精通Android开发了，但至少我可以往移动互联网这个方向发展了。我坚信在未来，随着医疗信息化的不断推进，移动互联网、大数据等必定与医疗、健康密不可分！所以，我非常想在未来从事有关移动互联网、大数据方向的技术研究。虽然道路还远，但我已看见曙光！"
		 * ; try{ String nativeByte=CLibrary.Instance.NLPIR_GetKeyWords(sInput,
		 * 10, false); String
		 * freqWordByte=CLibrary.Instance.NLPIR_ParagraphProcess(sInput, 0);
		 * long fingerPrint=CLibrary.Instance.NLPIR_FingerPrint(sInput);
		 * System.out
		 * .println("关键词提取结果是："+nativeByte+"\n分词结果："+freqWordByte+"\n指纹值："
		 * +fingerPrint); CLibrary.Instance.NLPIR_Exit(); }catch(Exception ex){
		 * ex.printStackTrace(); }
		 */
	}
}
